package com.pan.admin.module.loanConfig.service;

import com.pan.admin.module.loanConfig.entity.LoanProtocol;

import java.util.List;

/**
 * 协议配置(注册协议、隐私协议、单协议）Service接口
 *
 * @author ts
 * @date 2023-09-27
 */
public interface LoanProtocolService {

    /**
     * 根据ID获取列表协议配置(注册协议、隐私协议、单协议）
     *
     * @param id 协议配置(注册协议、隐私协议、单协议）主键
     * @return 协议配置(注册协议 、 隐私协议 、 单协议 ）
     */
    LoanProtocol getById(Long id);

    /**
     * 查询协议配置(注册协议、隐私协议、单协议）列表
     *
     * @param loanProtocol 协议配置(注册协议、隐私协议、单协议）
     * @return 协议配置(注册协议 、 隐私协议 、 单协议 ） 集合
     */
    List<LoanProtocol> list(LoanProtocol loanProtocol);

    /**
     * 新增协议配置(注册协议、隐私协议、单协议）
     *
     * @param loanProtocol 协议配置(注册协议、隐私协议、单协议）
     * @return 结果
     */
    int insertLoanProtocol(LoanProtocol loanProtocol);

    /**
     * 修改协议配置(注册协议、隐私协议、单协议）
     *
     * @param loanProtocol 协议配置(注册协议、隐私协议、单协议）
     * @return 结果
     */
    int updateLoanProtocol(LoanProtocol loanProtocol);

    /**
     * 删除协议配置(注册协议、隐私协议、单协议）
     *
     * @param id 协议配置(注册协议、隐私协议、单协议）主键
     * @return 结果
     */
    int deleteById(Long id);

    /**
     * 批量删除协议配置(注册协议、隐私协议、单协议）
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    int batchDeleteById(Long[] ids);
}
